From: kaf24@striker.cl.cam.ac.uk Date: Mon, 2 Dec 2002 20:15:42 +0000 (+0000) Subject: bitkeeper revision 1.7 (3debbf6e3uTST4qTwK-s500qgDGA7A) X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~19120 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=73db0f0b5eac809ace72fa597f7b99497d774706;p=xen.git bitkeeper revision 1.7 (3debbf6e3uTST4qTwK-s500qgDGA7A) domain.c, setup.c: SMP fix --- diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index afc0ddebd9..825b553426 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -1,3 +1,4 @@ akw27@boulderdash.cl.cam.ac.uk kaf24@plym.cl.cam.ac.uk +kaf24@striker.cl.cam.ac.uk smh22@boulderdash.cl.cam.ac.uk diff --git a/xen-2.4.16/arch/i386/setup.c b/xen-2.4.16/arch/i386/setup.c index 5b5c73f640..f9163148ed 100644 --- a/xen-2.4.16/arch/i386/setup.c +++ b/xen-2.4.16/arch/i386/setup.c @@ -295,8 +295,6 @@ void __init start_of_day(void) init_bh(IMMEDIATE_BH, immediate_bh); init_apic_mappings(); /* make APICs addressable in our pagetables. */ - sti(); - #ifndef CONFIG_SMP APIC_init_uniprocessor(); #else @@ -308,6 +306,8 @@ void __init start_of_day(void) */ #endif + sti(); + zap_low_mappings(); kmem_cache_init(); kmem_cache_sizes_init(max_page); diff --git a/xen-2.4.16/common/domain.c b/xen-2.4.16/common/domain.c index 51d9209778..a1d5de21c9 100644 --- a/xen-2.4.16/common/domain.c +++ b/xen-2.4.16/common/domain.c @@ -35,6 +35,7 @@ struct task_struct *do_newdomain(void) { int retval; struct task_struct *p = NULL; + unsigned long flags; retval = -ENOMEM; p = alloc_task_struct(); @@ -56,9 +57,9 @@ struct task_struct *do_newdomain(void) p->blk_ring_base = (blk_ring_t *)(p->shared_info + 1); p->net_ring_base = (net_ring_t *)(p->blk_ring_base + 1); p->pg_head = p->tot_pages = 0; - write_lock_irq(&tasklist_lock); + write_lock_irqsave(&tasklist_lock, flags); SET_LINKS(p); - write_unlock_irq(&tasklist_lock); + write_unlock_irqrestore(&tasklist_lock, flags); newdomain_out: return(p);